package review.Day_0329;

import java.util.*;

/**
 * @author zxc
 * @date 2023/03/29 16:34
 **/
public class Solution02 {
    public List<List<String>> groupAnagrams(String[] strs) {
        /**
         * 1.自己思路 ：
         * （1）使用hashmap存储，key存储的是排序后字符串 && value存储的是List集合（其中包含了所有互为变位词的字符串）
         * （2）同时，定义一个结果结合result，用来存储每个list集合（即，排序后字符串是相互不一样的;）
         *
         */
        Map<String , List<String>> hashmap = new HashMap<>();
        List<List<String>> result = new ArrayList<>();
        for (String str : strs) {
            char[] array = str.toCharArray();
            Arrays.sort(array);
            String s = new String(array);
            if(hashmap.containsKey(s)){
                hashmap.get(s).add(str);
            }
            else {
                List<String> list = new ArrayList<>();
                list.add(str);
                result.add(list);
                hashmap.put(s , list);
            }
        }
        return result;
    }
}
